package auto;

/**
 *
 * @author Jonas
 */
public interface GPS {
    /**
     * fysisch evenwaardig met het "inklikken" van een gps
     */
    public void subscribe(BoordComputer computer);
    /**
     * fysisch evenwaardig met het "losklikken" van een gps;
     * via een mechanisch systeem zou gezorgd worden dat dit enkel kan wanneer de motor niet draait
     */

    public void unsubscribe();

    /**
     * dit heeft geen fysisch equivalent,
     * maar in deze simulatie kan een GPS niet weten wanneer er effectief gereden wordt;
     * vandaar deze methode om te zorgen dat GPS-data gegenereerd kan worden
     */
    public void startMoving();

    /**
     * dit heeft geen fysisch equivalent,
     * maar in deze simulatie kan een GPS niet weten wanneer er effectief gestopt wordt;
     * vandaar deze methode om te zorgen dat GPS-datageneratie mag gestopt worden
     */
    public void stopMoving();

    /**
     * Dit is een getter
     * @returnIs deze auto aan het rijden
     */
    public boolean isMoving();
}
